| Description |
|---|
| Cette macro change le curseur de la souris en "ForbiddenCursor" si une sélection est dupliquée. Version macro : 00.00 Date dernière modification : 2016-06-06 Version FreeCAD : 0.16 Téléchargement : Icône de la barre d'outils Auteur: Mario52 |
| Auteur |
| Mario52 |
| Téléchargement |
| Icône de la barre d'outils |
| Liens |
| Page des macros Comment installer une macro Comment créer une barre d'outils |
| Version Macro |
| 00.00 |
| Dernière modification |
| 2016-06-06 |
| Version(s) FreeCAD |
| 0.16 |
| Raccourci clavier |
| None |
| Voir aussi |
| None |
Cette macro change le curseur de la souris en "ForbiddenCursor" si une sélection est dupliquée.
Lancez la macro , elle reste résidente en mémoire et active.
Sélectionnez vos objets. Si un objet sélectionné est un doublon, le curseur de souris "ForbiddenCursor" (curseur interdit) s'affiche.
Macro_Duplicate_Selection.FCMacro
# -*- coding: utf-8 -*-
import FreeCADGui
import PySide
from PySide import QtGui ,QtCore
from PySide.QtGui import *
from PySide.QtCore import *
__title__ = "Macro_Duplicate_Selection"
__author__ = "Mario52"
__url__ = "http://www.freecadweb.org/index-fr.html"
__version__ = "00.00"
__date__ = "06/06/2016"
__Help__ = "Start the macro select the object IN THE 3D VIEW the ForbiddenCursor stay if the selection is duplicate"
def selectionObject():
sel = FreeCADGui.Selection.getSelection()
x = []
del x[:]
for a in range(len(sel)):
x.append(sel[a].Name)
doublet = 0
for i in range(len(sel)):
for ii in range((i+1),len(sel)):
if x[i] == x[ii]:
doublet = 1
break
if doublet == 1:
QtGui.QApplication.setOverrideCursor(QtGui.QCursor(QtCore.Qt.ForbiddenCursor))
# FreeCAD.Console.PrintError("HELP "+sel[-1].Name+" duplicate selection"+"\n")
else:
QtGui.QApplication.setOverrideCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor))
class SelObserver:
def addSelection(self,doc,obj,sub,pnt): # Selection
selectionObject()
def removeSelection(self,doc,obj,sub): # Effacer l'objet salectionne
selectionObject()
def setPreselection(self, doc, obj, sub):
selectionObject()
def clearSelection(self,doc): # Si clic sur l'ecran, effacer la selection
selectionObject()
# def setSelection(self,doc): # Selection dans Combo View pour quitter la fonction
# App.Console.PrintMessage("Fin Macro_Duplicate"+"\n")
# QtGui.QApplication.setOverrideCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor))
# FreeCADGui.Selection.removeObserver(s)# desinstalle la fonction residente
s=SelObserver()
FreeCADGui.Selection.addObserver(s) # installe la fonction en mode resident
La discussion sur le forum Duplicate Objects when more than one face selected